package exception;

import java.io.FileOutputStream;
import java.io.IOException;

/*
    JDK1.7之后java推出了一个新的特性：自动关闭特性
    是的我们在异常处理机制中对于关闭流这样的操作进行了简化

    该特性是编译器认可的，最终代码会被编译器改为FinallyDemo2的样子
 */
public class AutoCloseableDemo {
    public static void main(String[] args){
        try (
                //在try()中定义的类最终会被编译器改为在finally中调用close()
                FileOutputStream fos
                        = new FileOutputStream("fos.dat");
                //编译不通过，只有实现了AutoCloseable接口的类才能在这里定义
                //String str = "abc"
        ) {
            fos.write(1);
        }catch (IOException e ){
            e.printStackTrace();
        }

    }
}
